Method and apparatus for managing missed events

ABSTRACT

A method for managing a missed event in an Internet of Things (IoT) environment and an apparatus therefor are provided. The method includes determining a sequence of events executed by a user, identifying a first event among the sequence of events as a critical event, detecting a missed event among the sequence of events, determining a significance weight of the missed event and performing the missed event based on at least one of the significance weight of the missed event or the critical event.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This application is based on and claims priority under 35 U.S.C. § 119of an Indian provisional application number 201841032589, filed on Aug.30, 2018, in the Indian Patent Office, and of an Indian patentapplication number 201841032589, filed on Jan. 16, 2019, in the IndianPatent Office, the disclosures of each of which is incorporated byreference herein in its entirety.

BACKGROUND 1. Field

The disclosure relates to management of reminders in an Internet ofThings (IoT) environment. More particularly, the disclosure relates to amethod and an apparatus for managing reminders of missed actions in anIoT environment.

2. Description of Related Art

Currently, there are methods and systems, which can identify a scheduleincluding one or more events. The schedule can be identified with acertain confidence factor. In an example, the identified schedule can bea user routine, where the events can be considered to be actions oractivities performed by the user and/or one or more user devices withinthe routine. The identified routine can be provided to a user forconfirmation prior to automating the identified routine. Accordingly,the user may or may not choose to automate the routine.

The methods and systems can provide an alert or notification to a userif an event within the schedule is not executed or is missed. However,the appropriate time at which the notification is to be prompted to theuser may be unknown.

The above information is presented as background information only toassist with an understanding of the disclosure. No determination hasbeen made, and no assertion is made, as to whether any of the abovemight be applicable as prior art with regard to the disclosure.

SUMMARY

Aspects of the disclosure are to address at least the above-mentionedproblems and/or disadvantages and to provide at least the advantagesdescribed below. Accordingly, an aspect of the disclosure is to providea method of providing an intelligent response on an electronic device.

Additional aspects will be set forth in part in the description whichfollows and, in part, will be apparent from the description, or may belearned by practice of the presented embodiments.

In accordance with an aspect of the disclosure, methods and systems formanaging reminders for missed or unexecuted events within a (identified)schedule in an Internet of Things (IoT) environment are provided. Amethod includes determining at least one critical event, which can splitthe identified schedule into parts, and monitoring execution of thedifferent events. If a scheduled event is not executed, the methodincludes providing a notification prior to/after the execution of thecritical event. The method includes monitoring frequency of execution ofdifferent events in the identified schedule, and execution of events ina particular order as in the identified schedule. The method includesmodifying the identified schedule based on the monitoring. The methodincludes re-identifying critical events based on changes ormodifications in the schedule.

In accordance with another aspect of the disclosure, a method ofmanaging a missed event in an Internet of Things (IoT) environment isprovided, The method includes determining a sequence of events executedby a user, identifying a first event among the sequence of events as acritical event, detecting a missed event among the sequence of events,determining a significance weight of the missed event, and performingthe missed event based on at least one of the significance weight of themissed event or the critical event.

The method may further include identifying, within the sequence ofevents, an action of prompting a notification of the missed event.

In the method, the identifying of the first event among the sequence ofevents as the critical event includes classifying the first event as thecritical event based on information of the IoT environment, and theinformation of the IoT environment comprises at least one of a state ofdevices included in the IoT environment or a usage pattern of thedevices included in the IoT environment.

In the method, the classifying of the first event as the critical eventincludes classifying the first event as the critical event based on thestate of the devices included in the IoT environment not changing for apredetermined time period.

In the method, the classifying of the first event as the critical eventincludes classifying the first event as the critical event based on atime interval between the first event and a second event prior to orsubsequent to the first event exceeding a predetermined time.

In the method, the critical event splits the sequence of events to atleast two sub sequence of events.

The method may further include determining, among the sequence ofevents, an event which is least executed for a predetermined timeperiod, generating a second sequence of events by removing the eventfrom the sequence of events, and identifying a second critical eventamong the second sequence of events.

In the method, the performing of the missed event includes performingthe missed event based on a time interval between at least two events inthe sequence of events after the detecting of the missed events.

The method may further include selecting the time interval which isgreater than a threshold time interval calculated from the sequence ofthe events.

The method may further include providing a notification of the missedevent to the user based on the significance weight of the missed eventor the critical event.

In the method, the providing of the notification of the missed eventincludes providing the notification of the missed event immediately whenthe significance weight of the missed event is higher than a thresholdvalue.

In accordance with another aspect of the disclosure, an apparatus formanaging a missed event in an Internet of Things (IoT) environment isprovided. The apparatus includes a memory, and at least one processorcouple to the memory and configured to determine a sequence of eventsexecuted by a user, identify a first event among the sequence of eventsas a critical event, detect a missed event among the sequence of events,determine a significance weight of the missed event, and perform themissed event based on at least one of the significance weight of themissed event or the critical event.

Other aspects, advantages, and salient features of the disclosure willbecome apparent to those skilled in the art from the following detaileddescription, which, taken in conjunction with the annexed drawings,disclose various embodiments of the disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other aspects, features, and advantages of certainembodiments of the disclosure will be more apparent from the followingdescription taken in conjunction with the accompanying drawings, inwhich:

FIG. 1 illustrates an example schedule including a series of activitieswhere a user misses or forgets to perform a couple of activitiesaccording to an embodiment of the disclosure;

FIG. 2 illustrates a block diagram a device 200 for managingreminders/notifications of non-occurrence or non-execution of events,according to an embodiment of the disclosure;

FIG. 3A is a flowchart illustrating a method for managing notificationsof missed events in a schedule, according to an embodiment of thedisclosure;

FIG. 3B is a flowchart illustrating a method for managing missed eventsin a schedule, according to an embodiment of the disclosure;

FIG. 4A depicts an example schedule including a plurality of eventsexecuted for four days, according to an embodiment of the disclosure;

FIG. 4B illustrates an example graph representing the schedule executedduring the four days, according to an embodiment of the disclosure;

FIG. 4C illustrates determining of a critical event in the examplegraph, according to an embodiment of the disclosure;

FIG. 5A illustrates an example graph representing a schedule includingmultiple critical nodes, according to an embodiment of the disclosure;

FIG. 5B depicts determination of the critical event in the examplegraph, according to an embodiment of the disclosure;

FIG. 6A illustrates an example of updating critical status of eventsbased on a modification of a schedule, according to an embodiment of thedisclosure;

FIG. 6B illustrates a graph representing the order of execution of theevents over a predetermined time period, according to an embodiment ofthe disclosure;

FIG. 6C illustrates a graph representing the order of execution of theevents over a predetermined time period, according to an embodiment ofthe disclosure;

FIG. 7A illustrates another example of updating critical status ofevents based on a modification of a schedule, according to an embodimentof the disclosure;

FIG. 7B illustrates another example of updating critical status ofevents based on a modification of a schedule, according to an embodimentof the disclosure;

FIG. 8 illustrates an example of providing a notification indicating anon-execution of activities prior to or after an execution of a criticalactivity, according to an embodiment of the disclosure;

FIG. 9 illustrates another example of providing a notificationindicating a non-execution of an activity prior to/after the executionof a critical activity, according to an embodiment of the disclosure;

FIG. 10A illustrates an example of inserting a missed activity toanother routine according to an embodiment of the disclosure;

FIG. 10B illustrates another example of inserting a missed activity toanother routine according to an embodiment of the disclosure;

FIG. 11 illustrates an example presentation of a schedule constructed bythe device 200, according to an embodiment of the disclosure; and

FIG. 12 illustrates an example of modifying a schedule, according to anembodiment of the disclosure.

Throughout the drawings, like reference numerals will be understood torefer to like parts, components, and structures.

DETAILED DESCRIPTION

The following description with reference to the accompanying drawings isprovided to assist in a comprehensive understanding of variousembodiments of the disclosure as defined by the claims and theirequivalents. It includes various specific details to assist in thatunderstanding but these are to be regarded as merely exemplary.Accordingly, those of ordinary skill in the art will recognize thatvarious changes and modifications of the various embodiments describedherein may be made without departing from the scope and spirit of thedisclosure. In addition, descriptions of well-known functions andconstructions may be omitted for clarity and conciseness.

The terms and words used in the following description and claims are notlimited to the bibliographical meanings, but, are merely used by theinventor to enable a clear and consistent understanding of thedisclosure. Accordingly, it should be apparent to those skilled in theart that the following description of various embodiments of thedisclosure is provided for illustration purpose only and not for thepurpose of limiting the disclosure as defined by the appended claims andtheir equivalents.

It is to be understood that the singular forms “a,” “an,” and “the”include plural referents unless the context clearly dictates otherwise.Thus, for example, reference to “a component surface” includes referenceto one or more of such surfaces.

As used herein, the terms “1st” or “first” and “2nd” or “second” may usecorresponding components regardless of importance or order and are usedto distinguish one component from another without limiting thecomponents.

The accompanying drawings are used to help easily understand varioustechnical features and it should be understood that the embodimentspresented herein are not limited by the accompanying drawings. As such,the disclosure should be construed to extend to any alterations,equivalents and substitutes in addition to those which are particularlyset out in the accompanying drawings. Although the terms first, second,etc. may be used herein to describe various elements, these elementsshould not be limited by these terms. These terms are generally onlyused to distinguish one element from another.

Embodiments herein disclose methods and systems for managingreminders/notifications for missed or unexecuted events within aschedule in an Internet of Things (IoT) environment. Embodimentsdisclosed herein include determining at least one critical event in theidentified schedule. The embodiments include monitoring execution of thedifferent events. If an event has not been executed, then theembodiments include providing a notification prior to/after theexecution of the critical event. The embodiments include monitoringfrequency of execution of events and execution of events in a particularorder, as in the identified schedule. The embodiments include modifyingthe identified schedule based on the monitoring. The embodiments includeidentifying critical events based on changes or modifications in theschedule.

The terms reminder and notification may be used interchangeably. Theterms event and action/activity may be used interchangeably as well.

Referring now to the drawings, and more particularly to FIGS. 1 through12, where similar reference characters denote corresponding featuresconsistently throughout the figures, there are shown preferredembodiments.

The methods and systems can provide an alert or notification to a userif an event within the schedule is not executed or is missed. Theschedule may include a sequence of events. However, the appropriate timeat which the notification is to be prompted to the user may be unknown.In an example, if the event is not executed at a scheduled time, thenotification can be prompted after a predefined period post thescheduled time. The notification to execute the missed event can also beprompted after all events in the schedule have been executed or prior tothe start of execution of the subsequent event in the schedule.

If the notification is provided too early (i.e., after the predefinedperiod after the lapse of the scheduled time of executing the event),the user might be annoyed. If the notification is provided too late(i.e., after all the events in the schedule have been executed), theremight be security issues especially when the missed event is critical.In such a case the user may need to undo or redo the events subsequentto the missed event. If the notification is provided prior to the startof the subsequent event and the subsequent event is scheduled to beexecuted after a lapse of a long time from the prior event, then therecan be a delay in prompting the notification.

FIG. 1 illustrates an example schedule including a series of activitieswhere a user misses or forgets to perform a couple of activitiesaccording to an embodiment of the disclosure.

Referring to FIG. 1, the user failed to close the bedroom window blindsand the bedroom window among the schedule. The user may initiate closingthe bedroom door as a subsequent activity. The system may provide anotification, i.e., a missed action reminder, indicating that the userhad forgotten closing the bedroom window blinds and the bedroom window.Providing the notification after completion of all activities, i.e.,after the user turns on the car music, can annoy or embarrass the useras the user needs to perform all the activities of the routine againafter closing the bedroom window blinds and the bedroom window at times.

FIG. 2 illustrates a block diagram a device 200 for managingreminders/notifications of non-occurrence or non-execution of events,according to an embodiment of the disclosure.

Referring to FIG. 2, the device 200 may include a critical eventidentifier unit 201, a schedule monitoring unit 202, a user feedbackreception unit 203, a display 204, a communication interface 205, anon-hindering inference unit 206, a memory 207, and an event identifyingunit 208. Examples of the device 200 can be, but not limited to, amobile device, a smart phone, a tablet, a home assistant device, awearable device, an Internet of Things (IoT) device, a vehicleinfotainment device, and so on. The critical event identifier unit 201,the schedule monitoring unit 202, the user feedback reception unit 203,a communication interface 205, a non-hindering inference unit 206, andan event identifying unit 208 may be implemented as at least onehardware processor.

The device 200 can automatically identify schedules including a seriesof events. The schedules can be identified with a certain confidenceover a period of time such as a number of days. The identified schedulescan be stored in the memory 207. The device 200 can providenotifications when events in the schedules are not executed or missing.The notifications can be provided using one or more interfaces includedin the device 200 and/or another device that can be accessible by theuser.

The critical event identifier unit 201 can identify critical eventswithin the schedule. The events in the schedule can be classified ascritical or non-critical. The critical event identifier unit 201 canidentify events which may be qualified as critical. Such identifiedevents in the schedule can be classified as critical.

In an embodiment, an event can be identified or classified as criticalbased on information of an environment in which the device 200 issituated. The information of the environment can indicate state of otherdevices in the environment and/or the pattern of usage of the otherdevices. The other devices can be associated with the events that are tobe executed in the schedule. In an example, if the state of the otherdevices during the execution of an event does not vary for apredetermined time period, the event can be classified as critical.

In another embodiment, an event can be identified as critical based on atime interval between execution of the event and the execution ofanother event prior to or subsequent to the event. In an example, if thetime interval between the two events exceed a predetermined time, one ofthe two events can be identified as a critical event.

In another embodiment, if the device 200 may detect an execution ofadditional events that are not a part of the schedule, an event whichprecedes or succeeds the execution of the additional events can beidentified as a critical event. After executing the additional events,the events which have been originally scheduled can be executed.

The other events (apart from the critical events) can be classified asnon-critical. The critical events can split the schedule into aplurality of parts (sub-schedules) where events in a sub-schedule can beindependent from events in another sub-schedule. The critical eventidentifier unit 201 can also identify a plurality of critical events inthe schedule.

The schedule monitoring unit 202 can monitor execution of the events inthe schedule and determine whether execution of an event has beenmissed. The monitoring may include determining the order of execution ofevents within the schedule, frequency of execution of events in theschedule, and/or time of execution of events in the schedule. If it isdetermined that an event has not been executed, the display 204 candisplay at an appropriate time, a notification indicating that the eventhas not been executed.

In an embodiment, when an event in a sub-schedule has not been executedor missed, the appropriate time can be the point of initiating acritical event, subsequent to the missed event. The execution of thecritical event is initiated after the execution of all events within thesub-schedule in which the missed event is scheduled. In other words, thenotification indicating that the event is missed, can be provided priorto or subsequent to an execution of the critical event.

If a schedule includes multiple critical events, and an event in asub-schedule has been missed, a notification can be displayed at theinitiation of execution of a critical event, which is scheduled forexecution after the last event in the sub-schedule is executed.

If a missed event has been scheduled for execution in the lastsub-schedule of the schedule, a notification can be provided to anddisplayed at the device 200 after a lapse of a predefined time periodfrom the execution of the last event in the schedule.

If a missed event has been scheduled for execution in the lastsub-schedule of the schedule and the missed event is the last event tobe executed in the schedule, a notification can be provided anddisplayed after a lapse of a predefined time period from the expectedexecution time of the missed event.

The schedule monitoring unit 202 may monitor the frequency of executionof different events in a schedule and order of execution of thedifferent events in the schedule. In an example, the schedule mayinclude a sequence of events. The sequence can be depicted as a graph inwhich the edges of the graph can be directional. The events can berepresented by nodes of the graph and the direction of the edges canindicate the order of execution of events within the schedules. Considerthat the initial graph is constructed based on the identified schedules.Based on monitoring of execution of the events, the order of executionof different events, frequency of execution of different events, andfrequency of execution of events in a particular order can bedetermined.

Each edge in the graph, connecting at least two nodes (events), can beassigned with a weight. When events are executed in a specific order,the weight of an edge connecting the nodes may increase. In an example,consider that the at least two events are executed in the specific order(signified by the direction of the edge connecting the at least twoevents) 10 times. The weight assigned to the edge can be 10. Theschedule monitoring unit 202 may set a threshold weight based on thenumber of days for which the schedule has been monitored. In an example,the schedule is monitored for 10 days. The threshold weight may be setas 5 when the at least two events have been executed in the specificorder once for the 10 days. If the weight of an edge is less than thethreshold weight, the edge can be removed. The removal of the edge mayimply that at least one event connected to the removed edge might nothave been executed, or is not frequently executed; and the at least oneevent connected to the removed edge may not be executed in an orderindicated by the direction of the removed edge. The less frequent eventsmay be removed from the schedule. The removal of the edges and the lessfrequent events can lead to modification of the schedule.

The critical event identifier unit 201 can identify critical eventsbased on the modification of the schedule. The criterion which canqualify an identified event as critical is that the critical event cansegment the schedule into a plurality of sub-schedules.

In an embodiment, the process of identifying critical events may includedetermining probability of different events to be qualified as acritical event. Based on the determined probability, prospectivecritical events can be identified. The probability of a prospectivecritical event to be qualified as a critical event can be based on thethreshold weight and weight of an edge passing over the prospectivecritical event, if any. If the weight of the edge passing through thecritical event is low, the probability of a prospective critical eventto be qualified as a critical event may increase. Similarly, if theweight of the edge passing through the critical event is high, theprobability of a prospective critical event to be qualified as acritical event may decrease.

The critical event identifier unit 201 may determine the probabilitiesof the prospective critical events. The critical event identifier unit201 can identify at least one prospective critical event as a criticalevent.

In an embodiment, the critical event identifier unit 201 can indicatethat a particular prospective critical event has been identified as acritical event. The display 204 can display the particular prospectivecritical event identified as the critical event for a user. The user canapprove or disapprove the prospective critical event as a critical eventthrough the user feedback reception unit 203. In an embodiment, the userfeedback reception unit 203 can be a touch screen, one or more switches,or buttons.

The probability of an event to be qualified as a critical event can bebased on the edges passing through the event in consideration. Thepassing edges can be new edges which can be added to the graph, ifevents connected by a new edge are executed in an order, indicated bythe direction of the new edge, for a certain number of times such thatthe assigned weight of the new edge is greater than the thresholdweight. When the weight of the new edge is less than the thresholdweight, the new edge can be regarded as temporary. When the weight ofthe new edge is greater than or equal to the threshold weight, the newedge can be regarded as permanent. The new edge can be, therefore, addedto the graph. The new edge can impact the criticality of the events.

In a scenario, an identified schedule includes three events, where thefirst event is executed followed by the second event and thereafter thethird event is executed. The three events may be regarded as nodesforming a graph. Assuming that the second event is identified as acritical event, a notification is provided at the initiation of thesecond event in case the first event is missed. If the schedulemonitoring unit 202 detects that the third event is executed followed bythe execution of the first event, the schedule monitoring unit 202 mayinform the critical event identifier unit 201 that a back edge hasappeared in the schedule, connecting the third event to the first event,which is passing through the second event. In this scenario, thecritical event identifier unit 201 is likely to determine a new criticalevent. Therefore, the second event is no longer qualified as a criticalevent. The third event can be identified as a critical event, wherenotifications indicating missing of the first and/or second events canbe provided prior to or after the execution of the third event.

The communication interface 205 of the device 200 can send notificationsto the user located remote from the device 200 through a cloud server.The user can receive the notification from the cloud server through adevice accessible to the user in the remote location. The notificationcan indicate that at least one event has been missed or not executed.For example, the notification can be sent using Code Division MultipleAccess (CDMA), Time Division Multiple Access (TDMA), Frequency DivisionMultiple Access (FDMA), orthogonal FDMA (OFDMA), Single-Carrier FDMA(SC-FDMA), and so on.

In a scenario, the schedule monitoring unit 202 determines that at leastone event in the schedule is missed and there is no possibility ofproviding a notification throughout the execution of subsequent eventswithin the entire schedule. In such a scenario, the non-hinderinginference unit 206 can identify events in another schedule. In anexample, consider that that an event in a first schedule is missed andthere is no possibility of providing notifications, while other eventsin the first schedule are executed. In such circumstances, thenon-hindering inference unit 206 can identify events in a secondschedule. The missed event in the first schedule can be executed afterthe execution of the identified events in the second schedule, duringthe execution of the identified events in the second schedule or duringthe initiation of the identified events in the second schedule.

In an example, the events in the first schedule and the second schedulecan be executed by the same user.

In another example, the events in the first schedule can be executed bythe first user and the events in the second schedule can be executed bythe second user. In such scenarios, the events that are supposed to beexecuted by the first user can be executed by the second user.

In an embodiment, the events in the second schedule can be determined bythe non-hindering inference unit 206 based on a knowledge base. Anexample of the knowledge base can be an ontology.

In another embodiment, the events that are identified in the secondschedule by the non-hindering inference unit 206 may belong to an eventgroup. The event group can include a plurality of events. Consider thatthe missed event in the first schedule is a part of a first event group,and the events identified in the second schedule are a part of a secondevent group. The non-hindering inference unit 206 can determineprobabilities of co-occurrence between the first event group and otherevent groups. The schedule including events belonging to an event group,having the highest probability of co-occurrence with the event groupincluding the missed event can be chosen. In an example, thenon-hindering inference unit 206 can choose the second schedule. Theidentified event belongs to the second event group and the missed eventbelongs to the first event group. The probability of co-occurrencebetween the first event group and the second event group is the highestcompared to the probabilities of co-occurrence between the first eventgroup and other event groups. Therefore, the non-hindering inferenceunit 206 may choose the second schedule based on the probability of theco-concurrence.

In another embodiment, the identified events can be associated with aquality score. The quality scores associated with the different eventsin the second schedule can be different. The quality score can be basedon state of each event in the second schedule, involvement of a user ineach of the events of the second schedule, and/or activity of at leastone user in the environment where the identified events are executed.

In an example, if an execution of multiple events in the first scheduleis missed, the missed events can be scheduled in multiple schedulesbased on appropriateness for scheduling the missed events in each of themultiple schedules.

The event identifying unit 208 can identify events and constructschedules. The event identifying unit 208 can prepare schedulesincluding events where the schedules can include critical events. Theschedule monitoring unit 202 can provide a notification to the userprior to or subsequent to an execution of a critical event in theconstructed schedule.

The event identifying unit 208 can identify events that can be executedby the user over a period of time. These events can be a part of anexisting schedule or a schedule that has to be constructed. Among suchevents, a critical event can be identified. Once the schedule isconstructed, the schedule monitoring unit 202 can provide a notificationto the user prior to or subsequent to an execution of the identifiedcritical event.

The display 204 can display the constructed schedule to the user. In anembodiment, the user can choose to automate the schedule, manuallyperform the schedule or reject the schedule. In an embodiment, the usercan choose to automate one or more events in the schedule, manuallyperform one or more events in the schedule or reject one or more eventsin the schedule. In an embodiment, the user can edit the schedule wherethe edits may include adding events to the schedule, deleting eventsfrom the schedule, and modifying events present in the schedule. Theuser can indicate the choice through the user feedback reception unit203. If the user chooses to automate the schedule, the schedulemonitoring unit 202 can provide notifications to the user when theexecution of events in the schedule is missed.

Consider that the user has prepared a schedule including a plurality ofevents. The schedule monitoring unit 202 can monitor execution ofdifferent events. If it is detected that the user has been executing anevent over a predefined period of time—several days, and the event isnot included in the schedule, the event can be determined as suitable tobe included in the schedule prepared by the user. The schedule preparedby the user may include a critical event. The schedule monitoring unit202 can suggest the user to include the suitable event in the scheduleby providing a notification. In an embodiment, the schedule monitoringunit 202 can provide the notification to the user to include thesuitable event in the schedule prior to an execution of the criticalevent.

In an embodiment, the suitable event can be scheduled to be executed inthe schedule prior to an execution of the critical event or after theexecution of the critical event.

Although FIG. 2 illustrates units of the device 200, it is to beunderstood that other embodiments are not limited thereon. In otherembodiments, the device 200 may include less or more number of units.Further, the labels or names of the units are used only for illustrativepurpose and does not limit the scope of the disclosure. One or moreunits can be combined together to perform same or substantially similarfunction in the device 200.

FIG. 3A is a flowchart 300 illustrating a method for managingnotifications of missed events in a schedule, according to an embodimentof the disclosure.

Referring to FIG. 3A, in operation S301, the method includes identifyingat least one critical event in a schedule. The status of the rest of theevents in the schedule can be considered as non-critical. The at leastone critical event can split the schedule into a plurality of parts. Themethod further includes monitoring the execution of different events inthe schedule. The monitoring may include determining the order ofexecution of events within the schedule, frequency of execution ofevents in the schedule, and/or time of execution of events in theschedule. The method further includes updating the status of criticalityof the event based on the monitoring. The method may further includemodifying the schedule based on the monitoring.

In an example, the schedule may be a graph including nodes which are theevents in the schedule. The graph can include edges which connect theevents. The order of execution of events can be determined using thedirection of the edges.

The method may include assigning a weight to all the edges of the graph.The schedule can be modified according to the assigned weights. Whenevents connected by an edge are executed in an order based on thedirection of the edge, the weight of the directional edge can increase.In an example, the events connected to the directional edge are executedonce daily. If the schedule is monitored for 8 days, the weight assignedto the directed edge may be 8.

An edge can be considered to be permanent, if the weight of the edge isgreater than the threshold weight. The threshold weight can be based onthe temporal length of monitoring. In the above example, if themonitoring period is 8 days, the threshold weight can be 3, 4, 5, and soon. If the weight of an edge is less than the threshold weight, the edgemay be considered to be temporary and consequently removed.

When an edge is removed, the schedule can be modified. This can indicatethat an event connected to the edge is either not executed or notexecuted frequently. This is because the weight of the edge can increaseif events connected to the edge are executed, or the events areconnected to the edge are executed in an order based on the direction ofthe edge. The method may include re-identifying critical events afterthe modification of the schedule.

In an embodiment, it is determined that two events are executed in asequential order once per day for 5 consecutive days, where initiallythe schedule does not indicate the sequential execution of the twoevents. The weight assigned to an edge connecting the two events is 5.If the threshold weight is equal to or less than 5, then an edgeconnecting the two events will be added to the schedule. The embodimentscan re-identify critical events after the modification of the schedule.In an example, if the new edge passes over an event with status ascritical, the event may no longer be regarded as critical.

In an embodiment, the method may include determining, for each event(node), a probability for being qualified as a critical event. Theprobability of an event being qualified as a critical event may be basedon the threshold weight, the weight assigned to an edge connected to theevent, and the weight of an edge passing through the event, if any.Based on the probability, the critical status can be assigned to theevent.

The method may further include displaying the at least one identifiedcritical event, once the critical events are identified, and receiving afeedback indicating approval or disapproval of the status of events ascritical.

In an embodiment, the events can be identified as critical based onstate of at least one device in the environment, in which the events inthe schedule are executed during execution of the critical event. The atleast one device can be associated with the execution of events in theschedule. The state of operation can correspond to the state ofoperation of the at least one device and/or pattern of usage of the atleast one device.

In an embodiment, the events can be identified as critical based on atime interval between the execution of the critical event the andexecution of an event preceding the critical event and/or a timeinterval between the execution of the critical event and the executionof an event succeeding the critical event.

In an embodiment, the events can be identified as critical based on anexecution of additional events that are not included in the schedule.The additional events are executed prior to or after the execution ofthe event identified as critical.

In operation S302, the method may include detecting that at least oneevent in a part of the schedule is missed or has not been executed. Thedetection can be confirmed if an event, which is scheduled for executionsubsequent to the missed event, is initiated. The detection can beconfirmed by non-execution of the at least one missed event at ascheduled time. In an embodiment, the number of non-executed eventsscheduled for execution prior to the critical event can be counted fordetecting missed events.

In operation S303, the method may include providing a notificationindicating non-execution—missing—of the at least one event duringinitiation of execution of a critical event. The critical event can bescheduled for execution after all events in the part-sub-schedule, wherethe at least one missed event is scheduled for execution, are executed.If a user is placed in a remote location, the method may includetransmitting the notification to a device accessible to the user in theremote location through a cloud server.

In an embodiment, the method may include scheduling execution of the atleast one missed event in another schedule if the notificationindicating the non-execution of the at least one missed event cannot beprovided. If the at least one missed event was scheduled for executionin a first schedule, the method may include identifying at least oneevent in a second schedule, where the at least one missed event can bescheduled for execution prior to an execution of the at least one eventin the second schedule during the execution of the at least one event inthe second schedule, or after an execution of the at least one event inthe second schedule. The events in the first schedule and the secondschedule can be executed either by the same user or different users.

The at least one event in the second schedule can be determined based ona knowledge base, probability of co-occurrence between the at least oneevent in the second schedule and the at least one missed event in thefirst schedule, and/or a quality score associated with the at least oneevent in the second schedule.

It is to be noted that if an execution of a plurality of events in thefirst schedule is missed and if it is not possible to provide anotification or reminder prior to or after the execution of any event inthe first schedule, the plurality of missed events can be scheduled orincluded in a plurality of schedules. For the sake of simplicity, theprevious example states that the missed events of the first schedule arescheduled only in the second schedule. However, the missed events can bescheduled for execution in multiple schedules.

The various actions in the flowchart 300 may be performed in the orderpresented, in a different order, or simultaneously. Further, in someembodiments, some actions listed in FIG. 3A may be omitted.

FIG. 3B is a flowchart 310 illustrating a method for managing missedevents in a schedule, according to an embodiment of the disclosure.

Referring to FIG. 3B, in operation S311, the method may includedetermining a sequence of events to be executed by a user. The sequenceof events is monitored for a predetermined time period (e.g. 5consecutive days).

In operation S313, a critical event among the sequence of events isdetermined. The critical event may be identified based on information ofan IoT environment which includes at least one selected from a group ofstate of devices executing the events and usage pattern of the devicesin the IoT environment. If the state of the devices does not vary orchange for a predetermined time period, the first event may beclassified as critical. In an embodiment, if a time interval between thefirst event and a second event executed prior to or subsequent to thefirst event exceeds a predetermined time—for example, 30 minutes, 1 houror 1 day, the first event may be classified as the critical event. Ingeneral, the critical event may divide the sequence of events into twosub-sequence of events. If two consecutive events may be executed within5-10 minutes in general, it is desirable to determine 20-30 minutes asthe predetermined time.

In an embodiment, if there is an event which is least executed for apredetermined time period, the event may be removed from the sequence ofevents as depicted in FIG. 6B and FIG. 6C. Referring to FIG. 6B and FIG.6C, the event K is the least executed event during the predeterminedtime period of 5 days. If the event K is removed, a new sequence ofevents is generated and a new critical event D may be identified as acritical event because the event D divides the sequences into twosub-sequence of events which are A-B-C-D (including A-B-D) and E-F-I(including E-I).

In operation S315, a missed event among the sequence events is detected.In operation S317, a significance weight of the missed event may bedetermined based on a type of the missed event such as a degree ofurgency, emergency and/or timing. The significance weight of the missedevent may contribute to the timing of when to notify the user of themissed events and/or the timing of when to perform the missed eventslater in the sequence of events. For example, if the significance weightof the missed event is higher than a threshold value, the notificationof the missed event may be provided to the user immediately. In anembodiment, referring to FIG. 1, the threshold value may be set to 3 andthe event of ‘Home Door Close’ may have the significance weight 4 due tothe security reason and the event of ‘Car Music On’ may have thesignificance weight 1 because the event of ‘Car Music On’ has nosubstantial significance among the sequence events. Likewise, the eventof ‘Garage door Close’ may have the significance weight 4 due to thesecurity reason. Referring to FIG. 10A, the event of “Smart InductionOFF” may have high significance weight because the event is related to afire—safety of a house. The significance weight of each of the event maybe determined based on the user setting and/or the criticality of theevent. If the event is critical and divides the sequence into aplurality of sub-sequences, the event may have high significance weightbecause the event may be highly likely to be relevant to the securityissue—“Home Door Close’ or ‘Garage Door Close’. If the event has highsignificance weight and is missed, the prompt notification may beprovided to the user.

In operation S319, the missed event may be performed based on thesignificance weight of the missed event and/or the critical event. In anembodiment, an action of prompting a notification of the missed eventmay be identified and provided to the user before performing the missedevent.

FIG. 4A depicts an example schedule including a plurality of eventsexecuted for four days, according to an embodiment of the disclosure.

Referring to FIG. 4A, the events can be represented by A, B, C, D, E, F,and I. The order of execution of events on Day 1 can be A-B-C-D-E-F-I.Thus, all events are executed on Day 1. The order of execution of theevents on other days may be different. As illustrated in FIG. 4A, theorder of execution on Day 2 can be B-C-A-D-E-F-I. The schedule on aparticular day may not include all the events. I.e., some of the eventsmay not be executed on certain days. As illustrated in FIG. 4A, theevents executed on Day 3 may be A, B, C, E, and I and the order ofexecution can be A-B-C-E-I. The schedule on Day 4 is same as that of Day1.

FIG. 4B illustrates an example graph representing the schedule executedduring the four days, according to an embodiment. The representativegraph depicts an order of execution of events over the four days of thedisclosure.

Referring to FIG. 4B, each of the events A, B, C, D, E, F, and I can berepresented by the nodes of the graph. The directions of the edges canindicate the order of execution of the events within the schedule. Forsimplicity of description, the graph is constructed by linking thenodes—events—using directed edges with respect to the order of executionof the events in the schedule. However, connections between events areconsidered as permanent, if the weight of the edges connecting theevents is greater than the threshold weight.

FIG. 4C illustrates determining a critical event in the example graph,according to an embodiment of the disclosure.

Referring to FIG. 4C, the method include identifying event E as thecritical event, as the event E can split the schedule into two parts(two sub-schedules). Therefore, the method includes providing anotification which indicates that events of A, B, C, and D have beenmissed or have not been executed prior to or after the execution of theevent E. If the event F is missed, a notification can be provided aftera predefined period post the execution of the event I. This is because,the part in which the event F is scheduled to be executed, terminatesthe schedule. If the event I is missed, a notification can be providedafter a predefined period of expected execution of the event I. This isbecause, the part in which the event I is scheduled for executionterminates the schedule, and the event I terminates the schedule.

FIG. 5A illustrates an example graph representing a schedule includingmultiple critical nodes, according to an embodiment of the disclosure.The representative graph depicts the order of execution of events over aperiod of time of the disclosure.

Referring to FIG. 5A, the events of A, B, C, D, E, F, I, and J can berepresented by the nodes of the graph. The directions of the edges canindicate the order of execution of the events within the schedule.

FIG. 5B depicts determination of the critical event in the examplegraph, according to an embodiment of the disclosure.

Referring to FIG. 5B, the method includes identifying events C and F asthe critical events. The critical events C and F can split the scheduleinto three parts (three sub-schedules). If event A and/or B is missed, anotification is provided prior to or after the execution of the event C.Similarly, if event D and/or E is missed, a notification is providedprior to or after the execution of the event F. If the event I ismissed, a notification can be provided after a predefined period postthe execution of the event J. If either the events I and J or the eventJ is missed, a notification can be provided after a predefined period ofexpected execution of the event J.

FIG. 6A illustrates an example of updating critical status of eventsbased on a modification of a schedule, according to an embodiment of thedisclosure.

Referring to FIG. 6A, in an example, the schedule is monitored for 5days and the schedule includes events of A, B, K, C, D, E, F, and I. Theorder of execution of the events for each day is illustrated in FIG. 6A.The frequency of execution of the events are monitored for 5 days.Referring to FIG. 6A, the events of A, B, D, and E are executed on all 5days. The events of C and I are executed on 4 days. The event F isexecuted on 3 days. The event K is executed on 2 days.

FIG. 6B illustrates a graph representing the order of execution of theevents over a predetermined time period according to an embodiment ofthe disclosure.

Referring to FIG. 6A or 6B, the predetermined time period is 5 days. Theevent E can be identified as a critical event as the event E splits thewhole schedule into two parts (two sub-schedules).

Consider that the weight assigned to an edge connecting two events in anorder based on the direction of the edge is increased by 1. Based on themonitoring of the frequency of execution of the different events in theschedule, the method may determine that the weight of the edgesconnecting the event K is less than the threshold weight, which can varybased on the number of days for which the schedule is monitored. Themethod includes removing the edges connecting the event K as the event Khas been executed only once.

FIG. 6C illustrates a graph representing the order of execution of theevents over a predetermined time period, according to an embodiment ofthe disclosure.

Referring to FIG. 6C, the removal of the node K leads to a modificationof the schedule. In an embodiment, the critical event is identified inthe graph, in which the critical event may split the graph or theschedule into parts. The event D is identified as a new critical nodebecause the event D can split the schedule into two parts.

FIGS. 7A and 7B illustrate another example of updating critical statusof events based on a modification of a schedule, according to variousembodiments of the disclosure.

In an example, the schedule is monitored for a predetermined period oftime. Referring to FIG. 7A, the graph represents the order of executionof the events over the predetermined period of time. The scheduleincludes events of A, B, C, D, E, F, I, and J. The events C and E may beidentified as critical events. A notification can be provided prior toor after the execution of the event C, if the events A and B are missed.Similarly, if the event D is missed, a notification can be provided to auser prior to or after the execution of the event E. The events C and Ecan split the schedule into three parts (three sub-schedules).

In an embodiment, probabilities for the events in the schedule to bequalified as a critical node are determined or calculated during themonitoring of the schedule. Initially, the event C is selected anddetermined as the critical event. Considering that the execution of theevent A is detected after the execution of the event D. As a result, atemporary edge directed from D to A can be added between the events Dand A. The dotted nature of the temporary edge can signify that theweight of the temporary edge is less than the threshold weight.

In an embodiment, the method can subsequently monitor an execution ofthe event D followed by an execution of the event A. As a result of theexecutions, the weight of the temporary edge increases. If the weight ofthe temporary edge increases, due to the increased frequency ofexecution of event D followed by the execution of event A, theprobability of the event C to be qualified as a critical eventdecreases. If the weight of the dotted edge equals the threshold weight,the dotted edge can become a permanent edge, as illustrated in FIG. 7B.At this stage, the event C can be no longer qualified as critical as anedge passes over the event C.

Referring to FIG. 7B, the inclusion of the edge between the events D andA leads to a modification of the schedule, according to an embodiment.The method can identify that the event C can be no longer qualified ascritical in the graph as an edge traverses from the event D to the eventA, bypassing the event C. Accordingly, the event E is identified as theonly critical node. If the events of A, B, C and D are missed, anotification is provided to a user prior to or after the execution ofthe event E.

FIG. 8 illustrates an example of providing a notification indicating anon-execution of activities prior to or after an execution of a criticalactivity, according to an embodiment of the disclosure.

Referring to FIG. 8, an identified schedule may include a plurality ofactivities (events) to be performed (executed) by a user. In an example,the user has forgotten to perform two activities such as ‘bedroom windowblind close’ and ‘bedroom window close’. In an embodiment, the activityof ‘home door close’ is identified as a critical activity. In anembodiment, the notification of ‘Missed Action Remainder’ indicatingthat the user had forgotten to perform the two activities is provided.The ‘Missed Action Remainder’ can be provided prior to or afterexecuting the activity of ‘home door close’.

FIG. 9 illustrates another example of providing a notificationindicating a non-execution of an activity prior to/after the executionof a critical activity, according to an embodiment of the disclosure.

Referring to FIG. 9, a plurality of activities are scheduled to beexecuted by the user. The performance of the activities in the schedulemay depend on devices that can be a part of an IoT environment. Thedevices may include but not limited to, a microwave, a living roomlight, a TV, a home theatre, a bedroom light, a thermostat, a garagedoors, security systems (home/office), windows, and so on.

In an example, the user has forgotten to perform an activity such as‘Microwave OFF’. The method may include identifying ‘TV (television) ON’as a critical activity.

In an embodiment, the activity of ‘TV ON’ can be classified as acritical activity if ‘TV ON’ is identified as an engaging activity. Theactivity of ‘TV ON’ can be identified as an engaging activity byobtaining information of the IoT environment. In order to determine theinformation of the IoT environment, the device executing the activitymay determine the state of the devices while the TV is ON for a periodof time (a couple of hours/days). The state of the devices can refer tothe operating state of the devices (ON or OFF) and/or pattern of usageof the other devices. In an example, if it is observed, during themonitoring phase, that the bedroom light and the home theater remain OFFwhile the TV is ON for the period of time, the ‘TV ON’ may be classifiedas a critical activity (engaging activity) because the operating stateof the other devices executing bedroom light and home theater does notvary but remains OFF.

In another environment, the activity of ‘TV ON’ can be identified as acritical activity if the time interval between execution of the activity‘TV ON’ and the activity succeeding ‘TV ON’, i.e., ‘TV OFF’, is greaterthan a threshold time period.

In an embodiment, the notification, i.e., a ‘Missed Action Remainder’indicating that the user had forgotten to switch off the microwave maybe provided or displayed. The ‘Missed Action Remainder’ can be providedprior to or after executing the activity of ‘TV ON’. After or before theuser switches on the TV, the user may be informed that the user hadforgotten to switch off the microwave.

FIG. 10A and illustrates an example of inserting a missed activity toanother routine according to an embodiment of the disclosure.

FIG. 10B illustrates another example of inserting a missed activity toanother routine according to an embodiment of the disclosure;

Referring to FIG. 10A, a schedule regarding a morning routine includinga plurality of activities is presented. The scheduled time at which theuser is expected to perform the activity is also shown in FIG. 10A. Inan embodiment, the activity of listening to the news on radio is missedor not performed in the morning routine. The detected missed activitiesare ‘Radio News ON’ and ‘Radio News Off’. The activities were supposedto be performed at 6:15 AM and 6:45 AM, respectively.

In an embodiment, activities are identified in another routine, i.e.,the cooking routine which would not be bothered by the missed activitiessuch as ‘Radio News ON’ and ‘Radio News Off’ which are scheduled priorto the execution of the identified activities, after the execution ofthe identified activities, or in the middle of the execution of theidentified activities.

Referring to FIG. 10B, the activities of ‘Smart Induction ON’ and ‘SmartInduction OFF’ are identified as the activities whose execution will notbe affected if the missed activities are inserted during theirexecutions. For example, the activity of ‘Listening to the News’ can beconsidered as non-hindering activity while cooking. In an embodiment theactivities not affected by inserting the missed events may be determinedbased on a time interval between two consecutive activities where thetime interval is greater than a threshold time interval.

The activities included in the morning routine and the cooking routinemay be performed by the same user or different users.

In an embodiment, the activities such as ‘Smart Induction ON’ and ‘SmartInduction OFF’ in the cooking routine can be identified based on aknowledge base such as ontology, rule, expert systems, statisticalcorpora, heuristics, and so on.

In another embodiment, the activities of ‘Smart Induction ON’ and ‘SmartInduction OFF’ can have a higher probability of co-occurrence with theactivities of ‘Radio News ON’ and ‘Radio News Off’ compared to otheractivities in the cooking routine. Therefore, the method may includeidentifying the activities of ‘Smart Induction ON’ and ‘Smart InductionOFF’ as the activities which may not hinder scheduling the missedactivities of the morning routine.

In another embodiment, the activities of ‘Smart Induction ON’ and ‘SmartInduction OFF’ can be identified based on the quality score associatedwith them. All activities in the cooking routine can be associated withquality scores. The quality score associated with an activity can bebased on an involvement of a user in the activity and an involvement ofother user in the environment where the event is executed.

FIG. 11 illustrates an example presentation of a schedule constructed bythe device 200, according to an embodiment of the disclosure. In anembodiment, the events executed by the user may be identified andschedules are constructed in background of an electronic device. Theschedules may include a plurality of events where at least oneidentified event is classified as critical. A notification may beprovided to the user either prior to or after an execution of thecritical event in the constructed schedule. Referring to FIG. 11, theconstructed schedule is a morning routine which includes activities suchas ‘Turn ON Wi-Fi’, ‘Bedroom lights ON’, and so on.

Activities that have been executed by the user over a period of time maybe identified in an embodiment. Among the identified activities, theactivity of ‘Mobile Sound Mode Vibrate’ is classified as a criticalactivity. The morning routine may be presented to the user by providinga notification prior to or post an execution of the activity of ‘MobileSound Mode Vibrate’.

The user can either choose to either automate the schedule or declinethe morning routine. If the user chooses to automate the morningroutine, notifications can be provided to the user if the user missesexecuting at least one activity in the morning routine.

FIG. 12 illustrates an example of modifying a schedule, according to anembodiment of the disclosure.

In an embodiment, the method may identify events that can be a part ofthe schedule which is prepared by the user. Referring to FIG. 12, theprepared schedule can be a routine including activities such as ‘DimLiving Room Lights’, ‘Open Refrigerator Door’, ‘Set Television Mode toMovie’, and so on. The routine may include a critical activity (labeledas CA). The critical activity can be ‘Set Hometheatre Mode as Movie’.The activities of ‘Set Hometheatre Mode to Normal’ and ‘Switch OffTelevision’ are scheduled for execution after the execution of thecritical activity.

In an embodiment, the method may include suggesting the user to modifythe routine by including a suitable activity (event) in the routine. Thesuitable activity may be ‘Set Thermostat to Medium’. The activity of‘Set Thermostat to Medium’ can be identified as suitable to be includedin the routine if it is detected that the user has been performing theactivity of ‘Set Thermostat to Medium’ for a predefined period of time.The method may further include suggesting the user to include theactivity of ‘Set Thermostat to Medium’ by providing a notification priorto the execution of the activity of ‘Set Home theatre Mode as Movie’.

An activity within a schedule may involve activities that cannot beexecuted remotely or automatically. In an example, consider that theactivity is closing a window which has only a proximity sensor. As such,the activity of closing the window may not be executed remotely. In suchcases, the method may provide a real time missed action reminder whichprompts to the user that the user has missed to close the window.

In an embodiment, the method can be a part of elderly care service asproviding notifications at an appropriate time. The elderly care servicecan facilitate elders who are living alone and likely to forgetperforming certain scheduled activities. In an example, if an elderforgets or misses to take prescribed medicine or forgets to switch offall lights prior to sleeping, the method according the embodiment canidentify that the moment of ‘going to sleep’ can be the appropriate timeto provide the notifications. Therefore, when the elder user goes tosleep, the notifications can be provided to the elder regarding anymissing activity. The method can be used for providing emergencyservices in an embodiment.

A method for providing reminders for events in an Internet of Things(IoT) environment is provided. The method includes identifying at leastone critical event in a schedule, wherein the at least one criticalevent splits the schedule into a plurality of parts; detecting at leastone missed event within a part amongst the plurality of parts, whereinthe detection comprises at least one of execution of an event subsequentto the at least one missed event and non-execution of the at least onemissed event; and providing a reminder indicating non-execution of theat least one missed event at one of prior to and after execution of acritical event, among the at least one critical event, wherein thecritical event is scheduled for execution after execution of all eventsin the part.

In an embodiment, the method further includes detecting at least onemissed event within a part terminating the schedule, wherein thedetection is confirmed by one of execution of an event subsequent to theat least one missed event and non-execution of the at least one missedevent; determining that an event terminating the schedule is executed;and providing a reminder, indicating non-execution of the at least onemissed event, after a predefined time period.

In an embodiment, the method further includes monitoring the order ofexecution of the plurality of events in the schedule and frequency ofexecution of each of the plurality of events over a period of time;modifying the schedule based on the frequency of execution of each ofthe plurality of events and based on the order of execution of theplurality of events; determining suitability of each of the plurality ofevents to be critical events based on the modification of the schedule;and identifying the at least one critical event based on one of anobtained user selection and the determined suitability.

In an embodiment, the user selection is obtained by displayingprospective critical events, wherein the prospective critical events areidentified based on the determined suitability; receiving a selectionindicating at least one prospective critical event, amongst theprospective critical events, as critical; and identifying the at leastone prospective critical event as critical.

In an embodiment, the identified schedule includes a plurality ofevents, wherein the plurality of events are activities to be performedby at least one IoT device.

In an embodiment, the at least one critical event is at least oneengaging activity performed by at least one IoT device.

In an embodiment, the critical event is identified based on a snapshotof the IoT environment, wherein the snapshot indicates state of at leastone device in the IoT environment during execution of the criticalevent, wherein the at least one device is associated with execution ofevents in the schedule.

In an embodiment, the state includes at least one of state of operationof the at least one device and pattern of usage of the at least onedevice.

In an embodiment, the critical event is identified based on one of atime interval between execution of the critical event and execution ofan event preceding the critical event; and a time interval betweenexecution of the critical event and execution of an event succeeding thecritical event.

In an embodiment, the critical event is identified based on detection ofexecution of at least one event not in the schedule, wherein the atleast one event is executed at one of prior to execution of the criticalevent and after execution of the critical event.

In an embodiment, the method further includes identifying, at least oneevent in a schedule; scheduling execution of the at least one missedevent at one of prior to execution of the at least one event duringexecution of the at least one event, or post execution of the at leastone event; and providing a reminder to initiate execution of the atleast one missed event during one of prior to execution of the at leastone event, execution of the at least one event, and post execution ofthe at least one event.

In an embodiment, the at least one event is identified, based on one ofa knowledge base and a probability of co-occurrence between the at leastone event and the at least one missed event.

In an embodiment, the at least one event is identified amongst events inthe schedule based on a quality score, wherein quality scores areassociated with the events in the schedule.

In an embodiment, the quality scores are based on at least one ofinvolvement of a user in each of the events and activity of at least oneuser in the IoT environment.

In an embodiment, the method further includes transmitting the reminderto a remote device through a cloud server.

In an embodiment, provided is a method for providing reminders forevents in an Internet of Things (IoT) environment. The method includesdetecting at least one missed event within a first schedule, wherein thefirst schedule comprises of a plurality of events; scheduling executionof the at least one missed event at one of: prior to execution of anevent in a second schedule and post execution of the event in the secondschedule, wherein the second schedule comprises of a plurality ofevents; and providing a reminder to initiate execution of the at leastone missed event at one of prior to execution of the event in the secondschedule during execution of the event in a second schedule, and postexecution of the event in a second schedule.

In an embodiment, the plurality of events in the first schedule and theplurality of events in the second schedule are executed by a first user.

In an embodiment, the plurality of events in the first schedule isexecuted by the first user and the plurality of events in the secondschedule are executed by a second user.

In an embodiment, provided is a method of presenting a schedule. Themethod includes constructing a schedule comprising of a selectedplurality of events based on monitoring of execution of events over apredefined time period, wherein the schedule comprises of a criticalevent segmenting the schedule into a plurality of parts; and providing anotification to present the schedule at one of prior to execution of thecritical event and after the execution of the critical event.

In an embodiment, the method further includes receiving a selectionindicating one of acceptance for automating the schedule and decline forautomating the schedule.

In an embodiment, provided is a method for suggesting modificationswithin a schedule. The method includes detecting an event as suitable tobe included in the schedule, wherein the schedule includes a criticalevent, wherein the schedule is constructed by a user; and provide anotification suggesting the user to include the suitable event in theschedule, prior to execution of the critical event.

In an embodiment, the suitability of the event to be included in theschedule is determined based on detection of execution of the event overa predefined period of time.

In an embodiment, provided is a device 200 providing reminders forevents in an Internet of Things (IoT) environment. The device 200 isconfigured to identify at least one critical event in a schedule,wherein the at least one critical event splits the schedule into aplurality of parts; detect at least one missed event within a partamongst the plurality of parts, wherein the detection comprises at leastone of execution of an event subsequent to the at least one missed eventand non-execution of the at least one missed event; and provide areminder indicating non-execution of the at least one missed event atone of prior to and after execution of a critical event, among the atleast one critical event, wherein the critical event is scheduled forexecution after execution of all events in the part.

In an embodiment, the device 200 is further configured to detect atleast one missed event within a part terminating the schedule, whereinthe detection is confirmed by one of execution of an event subsequent tothe at least one missed event and non-execution of the at least onemissed event; determine that an event terminating the schedule isexecuted; and providing a reminder indicating non-execution of the atleast one missed event after a predefined time period.

In an embodiment, device 200 is further configured to monitor the orderof execution of the plurality of events in the schedule and frequency ofexecution of each of the plurality of events over a period of time;modify the schedule based on the frequency of execution of each of theplurality of events and based on the order of execution of the pluralityof events; determine suitability of each of the plurality of events tobe critical events based on the modification of the schedule; andidentify the at least one critical event based on one of an obtaineduser selection and the determined suitability.

In an embodiment, the user selection is obtained by displayingprospective critical events, wherein the prospective critical events areidentified based on the determined suitability; receiving a selectionindicating at least one prospective critical event, amongst theprospective critical events, as critical; and identifying the at leastone prospective critical event as critical.

In an embodiment, the identified schedule includes a plurality ofevents, wherein the plurality of events are activities to be performedby at least one IoT device.

In an embodiment, the at least one critical event is at least oneengaging activity performed by at least one IoT device.

In an embodiment, the critical event is identified based on a snapshotof the IoT environment, wherein the snapshot indicates state of at leastone device in the IoT environment during execution of the criticalevent, wherein the at least one device is associated with execution ofevents in the schedule.

In an embodiment, the state includes at least one of state of operationof the at least one device and pattern of usage of the at least onedevice.

In an embodiment, the critical event is identified based on one of atime interval between execution of the critical event and execution ofan event preceding the critical event; and a time interval betweenexecution of the critical event and execution of an event succeeding thecritical event.

In an embodiment, provided is a device 200 for presenting a schedule.The device 200 is configured to construct a schedule comprising of aselected plurality of events based on monitoring of execution of eventsover a predefined time period, wherein the schedule comprises of acritical event segmenting the schedule into a plurality of parts; andprovide a notification to present the schedule at one of prior toexecution of the critical event or after the execution of the criticalevent.

In an embodiment, provided is a device 200 for suggesting modificationswithin a schedule. The device 200 is configured to detect an event assuitable to be included in the schedule, wherein the schedule includes acritical event, wherein the schedule is constructed by a user; andprovide a notification suggesting the user to include the suitable eventin the schedule, prior to execution of the critical event.

The embodiments disclosed herein can be implemented through at least onesoftware program running on at least one hardware device and performingnetwork management functions to control the network elements. Thenetwork components shown in FIG. 2 include blocks which can be at leastone of a hardware device, or a combination of hardware device andsoftware module.

The embodiments disclosed herein describe methods and systems formanaging delivery of notifications for at least one missed or unexecutedevent within an identified schedule. Therefore, it is understood thatthe scope of the protection is extended to such a program and inaddition to a computer readable means having a message therein, suchcomputer readable storage means contain program code means forimplementation of one or more steps of the method, when the program runson a server or mobile device or any suitable programmable device. Themethod is implemented in a preferred embodiment through or together witha software program written, for example, in Very High Speed IntegratedCircuit Hardware Description Language (VHDL), another programminglanguage, or implemented by one or more VHDL or several software modulesbeing executed on at least one hardware device. The hardware device canbe any kind of portable device that can be programmed. The device mayalso include means which could, for example, be hardware means such asan application specific integrated circuit (ASIC), or a combination ofhardware and software means, such an ASIC and a field programmable gatearray (FPGA), or at least one microprocessor and at least one memorywith software modules located therein. The method embodiments describedherein could be implemented partly in hardware and partly in software.Alternatively, the disclosure may be implemented on different hardwaredevices, for example, by using a plurality of central processing units(CPUs).

The foregoing description of the specific embodiments will so fullyreveal the general nature of the embodiments herein that others can, byapplying current knowledge, readily modify and/or adapt for variousapplications such specific embodiments without departing from thegeneric concept, and, therefore, such adaptations and modificationsshould and are intended to be comprehended within the meaning and rangeof equivalents of the disclosed embodiments. It is to be understood thatthe phraseology or terminology employed herein is for the purpose ofdescription and not of limitation. Therefore, while the embodimentsherein have been described in terms of preferred embodiments, thoseskilled in the art will recognize that the embodiments herein can bepracticed with modification within the spirit and scope of theembodiments as described herein.

While the disclosure has been shown and described with reference tovarious embodiments thereof, it will be understood by those skilled inthe art that various changes in form and details may be made thereinwithout departing from the spirit and scope of the disclosure as definedby the appended claims and their equivalents.

What is claimed is:
 1. A method of managing a missed event in anInternet of Things (IoT) environment, the method comprising: determininga sequence of events executed by a user; identifying a first event amongthe sequence of events as a critical event used to perform a missedevent, wherein the critical event is determined in response to a timeinterval between the first event and a second event subsequent to thefirst event exceeding a predetermined time; detecting the missed eventamong the sequence of events; determining a significance weight of themissed event; and providing a notification to perform the missed eventupon initiation of the first event, based on the significance weight ofthe missed event, wherein the performing of the missed event comprisesperforming the missedevent based on a time interval between at least twoevents in the sequence of events after the detecting of the missedevents.
 2. The method of claim 1, further comprising: identifying,within the sequence of events, an action of prompting a notification ofthe missed event.
 3. The method of claim 1, wherein the identifying ofthe first event among the sequence of events as the critical eventcomprises classifying the first event as the critical event based oninformation of the IoT environment, and wherein the information of theIoT environment comprises at least one of a state of devices included inthe IoT environment or a usage pattern of the devices included in theIoT environment.
 4. The method of claim 3, wherein the classifying ofthe first event as the critical event comprises classifying the firstevent as the critical event based on the state of the devices includedin the IoT environment not changing for a predetermined time period. 5.The method of claim 1, wherein the critical event splits the sequence ofevents to at least two sub sequence of events.
 6. The method of claim 1,further comprising: determining, among the sequence of events, an eventwhich is least executed for a predetermined time period; generating asecond sequence of events by removing the event from the sequence ofevents; and identifying a second critical event among the secondsequence of events.
 7. The method of claim 1, further comprising:selecting the time interval which is greater than a threshold timeinterval calculated from the sequence of the events.
 8. The method ofclaim 1, wherein the providing the notification comprises: providing thenotification to perform the missed event to the user based on thesignificance weight of the missed event or the critical event.
 9. Themethod of claim 8, wherein the providing of the notification to performthe missed event comprises providing the notification to perform themissed event immediately when the significance weight of the missedevent is higher than a threshold value.
 10. An apparatus for managing amissed event in an Internet of Things (IoT) environment, the apparatuscomprising: a memory; and at least one processor coupled to the memoryand configured to: determine a sequence of events executed by a user,identify a first event among the sequence of events as a critical eventused to perform a missed event, wherein the critical event is determinedin response to a time interval between the first event and a secondevent subsequent to the first event exceeding a predetermined time,detect the missed event among the sequence of events, determine asignificance weight of the missed event, and provide a notification toperform the missed event upon initiation of the first event, based onthe significance weight of the missed event, by performing the missedevent based on a time interval between at least two events in thesequence of events after the detecting of the missed events.
 11. Theapparatus of claim 10, wherein the at least one processor is furtherconfigured to: classify the first event as the critical event based oninformation of the IoT environment, and identify the first event amongthe sequence of events as the critical event, and wherein theinformation of the IoT environment comprises at least one of a state ofdevices included in the IoT environment or a usage pattern of thedevices included in the IoT environment.
 12. The apparatus of claim 11,wherein the at least one processor is further configured to classify thefirst event as the critical event based on the state of the devicesincluded in the IoT environment not changing for a predetermined timeperiod.
 13. The apparatus of claim 10, wherein the at least oneprocessor is further configured to: determine, among the sequence ofevents, an event which is least executed fora predetermined time period;generate a second sequence of events by removing the event from thesequence of events; and identify a second critical event among thesecond sequence of events.
 14. The apparatus of claim 10, wherein the atleast one processor is further configured to: detect the missed eventwithin a part terminating a schedule, the detection of the missed eventbeing confirmed by one of execution of an event subsequent to the missedevent or non-execution of the missed event; determine that an eventterminating the schedule is executed; and provide a reminder indicatingnon-execution of the missed event after a predefined time period. 15.The apparatus of claim 14, wherein the at least one processor is furtherconfigured to: monitor an order of execution of events in the scheduleand frequency of execution of each of the events over a period of time;modify the schedule based on the frequency of execution of each of theevents and based on the order of execution of the events; determine asuitability of each of the events to be a critical event based on themodification of the schedule; and identify the critical event based onone of an obtained user selection and the determined suitability. 16.The apparatus of claim 15, wherein the identified critical eventcomprises at least one activity performed by at least one IoT device.17. A non-transitory computer program product comprising a computerreadable storage medium having a computer readable program storedtherein, the computer readable program, when executed on an electronicdevice, causing the electronic device to perform: determine a sequenceof events executed by a user; identify a first event among the sequenceof events as a critical event used to perform a missed event, whereinthe critical event is determined in response to a time interval betweenthe first event and a second event subsequent to the first eventexceeding a predetermined time; detect the missed event among thesequence of events; determine a significance weight of the missed event;and provide a notification to perform the missed event upon initiationof the first event, based on the significance weight of the missedevent, wherein the performing of the missed event comprises performingthe missed event based on a time interval between at least two events inthe sequence of events after the detecting of the missed events.